package com.ysx.oa.resume.service.impl;

import com.ysx.oa.resume.Bean.QuestionBean;
import com.ysx.oa.resume.dao.QuestionDao;
import com.ysx.oa.resume.dao.ResumeDao;
import com.ysx.oa.resume.service.QuestionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;

/**
 * @author 黄德标
 * @date 2021/11/23 16:58
 */
@Service
public class QuestionServiceImpl implements QuestionService {

    @Autowired
    private QuestionDao questionDao;

    @Autowired
    private ResumeDao resumeDao;

    /**
     * 方法描述: 【学生】 新增一个面试问题
     * @author: 黄德标
     * @date: 2021/11/20 19:37
     * @params: [questionEntity]
     * @returns: 返回1 则添加成功
     */
    public Integer addQuestion(QuestionBean questionBean){
        return questionDao.addQuestion(questionBean);
    }

    /**
     * 方法描述: 根据面试问题的ID，从面试问题表中删除一条记录
     * @author: 黄德标
     * @date: 2021/11/20 21:01
     * @params: [questionId]
     * @returns: 返回1 则删除成功
     */
    public Integer deleteQuestionByQuestionId(Integer questionId){
        return questionDao.deleteQuestionByQuestionId(questionId);
    }

    /**
     * 方法描述: 根据 questionBean参数中的 id 进行修改内容（只能更新面试问题和学生的回答）
     * @author: 黄德标
     * @date: 2021/11/20 20:41
     * @params: [questionEntity]
     * @returns: 返回1 则修改成功
     */
    public Integer updateQuestion(QuestionBean questionBean){
        return questionDao.updateQuestion(questionBean);
    }








    /**
     * 方法描述: 根据 ID 查询 面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/20 21:21
     * @params: [QuestionId]
     * @returns: QuestionEntity对象
     */
    public QuestionBean selectQuestionBeanByQuestionId(Integer QuestionId){
        return questionDao.selectQuestionBeanByQuestionId(QuestionId);
    }

    /**
     * 方法描述: 根据 resumeID 查询 面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/20 21:49
     * @params: [resumeId]
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectQuestionBeanByResumeId(Integer resumeId){
        return questionDao.selectQuestionBeanByResumeId(resumeId);
    }

    /**
     * 方法描述: 根据 studentId 查询 面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/20 22:00
     * @params: [studentId]
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectQuestionBeanByStudentId(Integer studentId){
        return questionDao.selectQuestionBeanByStudentId(studentId);
    }

    /**
     * 方法描述: 根据 学生的班级ID 查询 此班 所有的学生 的面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/20 22:23
     * @params: [classId]
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectQuestionBeanByClassId(Integer classId){
        return questionDao.selectQuestionBeanByClassId(classId);
    }

    /**
     * 方法描述: 根据 老师的id 查询 此班 所有的学生 的面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/25 22:23
     * @params: [classId]
     * @returns: 装有QuestionEntity对象的集合
     */
    @Override
    public ArrayList<QuestionBean> selectQuestionBeanByTeacherId(Integer teacherId) {
        return null;
    }

    /**
     * 方法描述: 根据 班级ID 查询 此班 所有的学生 的面试问题表中 老师还未填写答案 的记录
     * @author: 黄德标
     * @date: 2021/11/21 15:35
     * @params: [classId]
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectNullTeacherAnswerQuestionBeanByClassId(Integer classId){
        return questionDao.selectNullTeacherAnswerQuestionBeanByClassId(classId);
    }

    /**
     * 方法描述: 根据 老师ID 查询 已经填写过答案 的面试问题表中的记录
     * @author: 黄德标
     * @date: 2021/11/21 15:20
     * @params: [teacherId]
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectNotNullTeacherAnswerQuestionBeanByClassId(Integer teacherId){
        return questionDao.selectNotNullTeacherAnswerQuestionBeanByClassId(teacherId);
    }

    /**
     * 方法描述: 查询 面试问题表 所有记录
     * @author: 黄德标
     * @date: 2021/11/20 22:22
     * @returns: 装有QuestionEntity对象的集合
     */
    public ArrayList<QuestionBean> selectAll(){
        return questionDao.selectAll();
    }



}